package haemers.reflection.tests 
{
	import nl.haemers.data.constants.ReflectionConstants;
	import nl.haemers.data.reflection.IArgs;
	import nl.haemers.data.reflection.Metadata;
	import org.flexunit.Assert;
	/**
	 * ...
	 * @author Jonathan
	 */
	public class MetaDataTest 
	{
		private var _metadata:Metadata;
		/** Public methods **/
		[Before]
		public function setup() : void
		{
			_metadata = new Metadata(_dataXML);
		}
		
		[Test]
		public function test() : void
		{
			Assert.assertNotNull(_metadata.args);
			Assert.assertTrue(_metadata.args is IArgs);
			Assert.assertEquals(ReflectionConstants.OBJECT_ATTRIBUTE, _metadata.name);
			Assert.assertEquals(_metadata.name, _metadata.toString());
		}
		
		[After]
		public function teardown() : void
		{
			
		}
		/** Getters & Setters **/
		
		/** Protected methods **/
		
		/** Private methods **/
		private var _dataXML:XML = new XML(
			<metadata name="Serialize">
			  <arg key="ignore" value="true"/>
			</metadata>
		);
	}

}